# -*- coding:utf-8 -*-
# title           :
# description     :
# author          :Python超人/三月三提供
# date            :2024-06-01
# link            :https://gitcode.net/pythoncr/
# python_version  :3.9
# ==============================================================================
from 神笔码靓.神笔库.定义集 import *
from 神笔码靓.神笔库.PDF工具集 import PDF工具集
from 神笔码靓.神笔库.神笔绘图板 import 神笔绘图板


class 超级玛丽神笔绘(神笔绘图板):

    def 左鞋(self):
        _鞋底色 = self.创建线性渐变色(开始位置=(624.02, 553.06), 结束位置=(676.55, 577.44),
                            开始颜色="#666767", 结束颜色="#fcfcfc",
                            开始偏移=0.01, 结束偏移=0.97)
        # _鞋底色 = "#666767"  # TODO: 未使用渐变色
        _左鞋底路径点 = [
            ('移动', 672, 480),
            ('平滑曲线', 679, 487, 683, 497),
            ('曲线', 689, 512, 676, 549, 645, 587), ('曲线', 644, 592, 642, 599, 638, 608),
            ('曲线', 632, 624, 628, 634, 620, 638), ('曲线', 608, 644, 591, 638, 576, 626),
            ('曲线', 585, 627, 590, 622, 593, 620), ('曲线', 606, 614, 605, 600, 619, 576),
            ('曲线', 625, 565, 625, 562, 628, 555), ('曲线', 639, 537, 652, 518, 649, 467),
            ('曲线', 653, 469, 666, 473, 672, 480)
        ]

        _左鞋底 = self.连线(_左鞋底路径点, 描边颜色=颜色.黑色, 填充颜色=_鞋底色)

        _左鞋色 = self.创建线性渐变色(开始位置=(527.97, 516.9), 结束位置=(654.31, 564.32),
                            开始颜色="#5b2908", 结束颜色="#b16732",
                            开始偏移=0.11, 结束偏移=1)

        # _左鞋色 = "#80390d"  # TODO: 未使用渐变色
        _左鞋路径点 = [
            ('移动', 536, 519),
            ('曲线', 552, 471, 551, 469, 558, 462), ('曲线', 570, 449, 594, 436, 619, 444),
            ('曲线', 636, 449, 651, 464, 654, 481), ('曲线', 656, 490, 654, 497, 650, 510),
            ('曲线', 645, 527, 637, 549, 624, 575), ('曲线', 622, 581, 619, 590, 613, 600),
            ('曲线', 605, 614, 597, 628, 582, 634), ('曲线', 563, 641, 538, 632, 527, 615),
            ('曲线', 521, 606, 521, 597, 520, 586), ('曲线', 519, 566, 524, 553, 536, 519)
        ]

        _左鞋 = self.连线(_左鞋路径点, 描边颜色=颜色.黑色, 填充颜色=_左鞋色)

        return [_左鞋底, _左鞋]

    def 左手臂(self):
        _左手臂路径点 = [
            ('移动', 486, 442),
            ('曲线', 513, 426, 531, 403, 547, 377), ('曲线', 600, 293, 610, 226, 612, 209),
            ('曲线', 613, 203, 613, 199, 614, 195), ('曲线', 597, 191, 581, 187, 565, 182),
            ('曲线', 560, 185, 552, 191, 542, 198), ('曲线', 445, 273, 433, 384, 437, 423),
            ('曲线', 438, 436, 442, 446, 449, 450), ('曲线', 453, 452, 462, 456, 486, 442)
        ]

        _左手臂 = self.连线(_左手臂路径点, 描边颜色=颜色.黑色, 填充颜色="#e62901")

        _左手套路径点 = [
            ('移动', 554, 243),
            ('曲线', 591, 249, 591, 266, 626, 241), ('曲线', 641, 230, 635, 214, 636, 205),
            ('曲线', 632, 208, 621, 211, 605, 210), ('曲线', 592, 209, 583, 203, 579, 201),
            ('曲线', 588, 205, 600, 211, 613, 210), ('曲线', 622, 210, 632, 209, 642, 202),
            ('曲线', 659, 191, 672, 155, 671, 135), ('曲线', 667, 88, 638, 77, 603, 71),
            ('曲线', 601, 68, 597, 63, 590, 58), ('曲线', 577, 49, 559, 52, 547, 60),
            ('曲线', 537, 67, 533, 77, 532, 81), ('曲线', 536, 80, 558, 76, 578, 94),
            ('曲线', 582, 97, 587, 104, 588, 114), ('曲线', 589, 125, 582, 134, 581, 136),
            ('曲线', 594, 153, 603, 156, 610, 156), ('曲线', 618, 155, 630, 153, 632, 152),
            ('曲线', 632, 152, 632, 152, 632, 152), ('曲线', 632, 154, 613, 157, 606, 156),
            ('曲线', 597, 154, 585, 142, 581, 136), ('曲线', 582, 135, 588, 128, 588, 114),
            ('曲线', 588, 101, 575, 90, 568, 87), ('曲线', 566, 85, 543, 74, 522, 84),
            ('曲线', 504, 93, 486, 127, 485, 156), ('曲线', 484, 176, 496, 188, 500, 197),
            ('曲线', 499, 197, 496, 200, 494, 209), ('曲线', 493, 213, 494, 217, 495, 218),
            ('曲线', 503, 234, 540, 241, 554, 243)
        ]

        _左手套色 = self.创建线性渐变色(开始位置=(490.47, 179.22), 结束位置=(659.9, 131.81),
                             开始颜色="#666767", 结束颜色="#fcfcfc",
                             开始偏移=0.01, 结束偏移=0.97)
        # _左手套色 = "#fcfcfc"  # TODO: 未使用渐变色
        _左手套 = self.连线(_左手套路径点, 描边颜色=颜色.黑色, 填充颜色=_左手套色)
        return [_左手臂, _左手套]

    def 上身(self):
        _红色内衣路径点 = [
            ('移动', 459, 418),
            ('曲线', 487, 432, 528, 457, 540, 504), ('曲线', 556, 562, 520, 631, 452, 656),
            ('曲线', 387, 680, 317, 660, 276, 618), ('曲线', 252, 594, 242, 567, 237, 551),
            ('曲线', 243, 477, 283, 416, 339, 399), ('曲线', 389, 384, 435, 406, 459, 418)
        ]

        _红色内衣色 = self.创建线性渐变色(开始位置=(172.89, 435.23), 结束位置=(350.55, 515.93),
                              开始颜色="#710608", 结束颜色="#f00e12",
                              开始偏移=0.6, 结束偏移=0.8)
        # _红色内衣色 = "#f00e12"  # TODO: 未使用渐变色
        _红色内衣 = self.连线(_红色内衣路径点, 描边颜色=颜色.黑色, 填充颜色=_红色内衣色)

        _外衣兜兜路径点 = [
            ('移动', 459, 421),
            ('曲线', 469, 414, 518, 446, 535, 489), ('曲线', 555, 538, 534, 603, 490, 638),
            ('曲线', 439, 677, 375, 671, 325, 658), ('曲线', 291, 649, 235, 622, 230, 586),
            ('曲线', 226, 553, 240, 507, 246, 503), ('曲线', 251, 511, 283, 532, 287, 534),
            ('曲线', 311, 548, 346, 540, 363, 520), ('曲线', 384, 496, 381, 451, 349, 422),
            ('曲线', 370, 430, 392, 438, 414, 446), ('曲线', 422, 456, 430, 466, 437, 476),
            ('曲线', 453, 473, 468, 469, 483, 465), ('直线', 457, 431),
            ('曲线', 456, 428, 456, 423, 459, 421)
        ]

        _外衣兜兜色 = self.创建线性渐变色(开始位置=(273.21, 648.52), 结束位置=(511.46, 451.53),
                              开始颜色="#081e4d", 结束颜色="#1950c5",
                              开始偏移=0.4, 结束偏移=0.8)
        # _外衣兜兜色 = "#1950c5"  # TODO: 未使用渐变色
        _外衣兜兜 = self.连线(_外衣兜兜路径点, 描边颜色=颜色.黑色, 填充颜色=_外衣兜兜色)

        _右纽扣色 = self.创建径向渐变色(渐变开始中心点=(450, 520), 渐变半径=45,
                             开始颜色="#ffff2d", 结束颜色="#ada406",
                             开始偏移=0.2, 结束偏移=0.9)
        # _右纽扣色 = "#ffff2d"  # TODO: 未使用渐变色
        _右纽扣 = self.画椭圆(x=430.28, y=522.04, 半径=(33.28, 33.45), 描边颜色=颜色.透明, 填充颜色=_右纽扣色)

        _左纽扣色 = self.创建径向渐变色(渐变开始中心点=(560, 500), 渐变半径=50,
                             开始颜色="#ffff2d", 结束颜色="#ada406",
                             开始偏移=0.5, 结束偏移=0.8)
        # _左纽扣色 = "#ffff2d"  # TODO: 未使用渐变色
        _左纽扣 = self.画椭圆(x=534.05, y=499.32, 半径=(9.98, 31.11), 描边颜色=颜色.透明, 填充颜色=_左纽扣色).旋转(-22)

        return [_红色内衣, _外衣兜兜, _右纽扣, _左纽扣]

    def 右鞋(self):
        _鞋底色 = self.创建线性渐变色(开始位置=(624.02, 553.06), 结束位置=(676.55, 577.44),
                            开始颜色="#666767", 结束颜色="#fcfcfc",
                            开始偏移=0.1, 结束偏移=0.9)
        # _鞋底色 = "#666767"  # TODO: 未使用渐变色
        _右鞋底路径点 = [
            ('移动', 211, 668),
            ('曲线', 206, 688, 201, 708, 202, 733), ('曲线', 202, 747, 204, 758, 206, 765),
            ('曲线', 200, 765, 191, 763, 184, 756), ('曲线', 171, 745, 172, 727, 172, 713),
            ('曲线', 173, 685, 183, 663, 192, 649), ('曲线', 190, 637, 189, 628, 190, 620),
            ('曲线', 190, 605, 190, 584, 203, 576), ('曲线', 204, 575, 239, 584, 245, 587),
            ('曲线', 251, 589, 234, 586, 234, 601), ('曲线', 234, 626, 218, 638, 211, 668)
        ]

        _右鞋底 = self.连线(_右鞋底路径点, 描边颜色=颜色.黑色, 填充颜色=_鞋底色)

        _右鞋路径点 = [
            ('移动', 249, 788),
            ('曲线', 272, 788, 303, 775, 312, 748), ('曲线', 316, 736, 314, 725, 313, 718),
            ('曲线', 316, 718, 320, 716, 325, 713), ('曲线', 331, 707, 334, 699, 334, 668),
            ('曲线', 335, 626, 329, 620, 326, 617), ('曲线', 321, 613, 312, 607, 306, 611),
            ('曲线', 302, 615, 299, 613, 292, 646), ('曲线', 288, 668, 292, 684, 291, 684),
            ('曲线', 291, 684, 288, 666, 292, 646), ('曲线', 296, 631, 298, 617, 306, 611),
            ('曲线', 301, 604, 293, 595, 280, 589), ('曲线', 273, 585, 252, 575, 237, 586),
            ('曲线', 228, 591, 225, 601, 224, 605), ('曲线', 217, 630, 201, 690, 202, 739),
            ('曲线', 202, 751, 202, 766, 213, 777), ('曲线', 225, 788, 241, 788, 248, 788)
        ]

        _右鞋色 = self.创建线性渐变色(开始位置=(201.36, 686.54), 结束位置=(335.95, 681.13),
                            开始颜色="#5b2908", 结束颜色="#b16732",
                            开始偏移=0.11, 结束偏移=1)
        # _右鞋色 = "#80390d"  # TODO: 未使用渐变色
        _右鞋 = self.连线(_右鞋路径点, 描边颜色=颜色.黑色, 填充颜色=_右鞋色)

        return [_右鞋底, _右鞋]

    def 右手臂(self):
        _右手臂路径点 = [
            ('移动', 243, 419),
            ('曲线', 269, 409, 291, 407, 312, 412), ('曲线', 326, 415, 346, 424, 346, 434),
            ('曲线', 345, 440, 343, 447, 332, 454), ('曲线', 323, 459, 277, 472, 258, 489),
            ('曲线', 232, 510, 243, 522, 227, 529), ('曲线', 200, 542, 172, 515, 174, 489),
            ('曲线', 175, 471, 183, 444, 243, 419)
        ]

        _右手臂色 = self.创建线性渐变色(开始位置=(200.54, 412.51), 结束位置=(300.89, 508.76),
                             开始颜色="#710608", 结束颜色="#f00e12",
                             开始偏移=0.25, 结束偏移=0.8)
        # _右手臂色 = "#f00e12"  # TODO: 未使用渐变色
        _右手臂 = self.连线(_右手臂路径点, 描边颜色=颜色.黑色, 填充颜色=_右手臂色)

        _右手套路径点 = [
            ('移动', 229, 463),
            ('曲线', 245, 470, 261, 477, 269, 493), ('曲线', 274, 504, 274, 522, 273, 528),
            ('曲线', 259, 511, 248, 507, 247, 507), ('曲线', 247, 508, 262, 514, 273, 528),
            ('曲线', 283, 541, 293, 568, 282, 584), ('曲线', 275, 595, 262, 598, 261, 598),
            ('曲线', 259, 598, 255, 598, 250, 597), ('曲线', 241, 595, 232, 589, 229, 586),
            ('曲线', 232, 580, 237, 577, 241, 572), ('曲线', 239, 573, 235, 575, 230, 583),
            ('曲线', 223, 594, 221, 603, 221, 604), ('曲线', 223, 598, 223, 597, 229, 586),
            ('曲线', 242, 592, 247, 600, 260, 598), ('曲线', 256, 603, 246, 621, 238, 626),
            ('曲线', 211, 643, 162, 636, 138, 614), ('曲线', 118, 597, 102, 554, 114, 525),
            ('曲线', 122, 505, 129, 495, 146, 487), ('曲线', 158, 480, 175, 487, 182, 487),
            ('曲线', 172, 485, 163, 483, 149, 485), ('曲线', 149, 468, 155, 462, 162, 457),
            ('曲线', 179, 442, 216, 458, 229, 463)
        ]

        _右手套色 = self.创建线性渐变色(开始位置=(117.04, 568.7), 结束位置=(284.66, 513.0),
                             开始颜色="#666767", 结束颜色="#fcfcfc",
                             开始偏移=0.1, 结束偏移=0.8,
                             )
        # _右手套色 = "#fcfcfc"  # TODO: 未使用渐变色
        _右手套 = self.连线(_右手套路径点, 描边颜色=颜色.黑色, 填充颜色=_右手套色)

        _手套装饰1色 = self.创建径向渐变色(渐变开始中心点=(160.26, 535.49), 渐变半径=25,
                               开始颜色="#dedfdf", 结束颜色="#6e6f6f",
                               开始偏移=0.1, 结束偏移=1,
                               ).缩放(1, 1.06).旋转(旋转角度=2.07,旋转中心点=(160.26, 535.49)).平移(9, -18)
        # _手套装饰1色 = "#6e6f6f"  # TODO: 未使用渐变色
        _手套装饰1 = self.画椭圆(x=160.26, y=535.49, 半径=(21.28, 7.83), 描边颜色=颜色.黑色, 填充颜色=_手套装饰1色).旋转(-69)

        _手套装饰2色 = self.创建径向渐变色(渐变开始中心点=(193.7, 548.0), 渐变半径=25,
                               开始颜色="#dedfdf", 结束颜色="#6e6f6f",
                               开始偏移=0.1, 结束偏移=1,
                               ).缩放(1, 1.06).旋转(旋转角度=2.07,旋转中心点=(193.7,  548.0)).平移(8, -24)
        # _手套装饰2色 = "#6e6f6f"  # TODO: 未使用渐变色
        _手套装饰2 = self.画椭圆(x=193.7, y=548.0, 半径=(21.28, 7.83), 描边颜色=颜色.黑色, 填充颜色=_手套装饰2色).旋转(-69)

        return [_右手臂, _右手套, _手套装饰1, _手套装饰2]

    def 头面部(self):
        _面部路径点 = [
            ('移动', 413, 124),
            ('曲线', 430, 127, 462, 133, 489, 159), ('曲线', 507, 177, 514, 197, 520, 214),
            ('曲线', 526, 230, 553, 310, 511, 381), ('曲线', 501, 398, 481, 432, 442, 443),
            ('曲线', 415, 450, 392, 442, 377, 437), ('曲线', 319, 418, 287, 370, 276, 350),
            ('曲线', 269, 332, 261, 315, 254, 298), ('曲线', 251, 283, 246, 254, 255, 221),
            ('曲线', 259, 204, 268, 165, 304, 140), ('曲线', 344, 112, 390, 120, 413, 124)
        ]

        _面部色 = self.创建线性渐变色(开始位置=(256.86, 260.04), 结束位置=(537.56, 304.54),
                            开始颜色="#f19576", 结束颜色="#fffdc9",
                            开始偏移=0.13, 结束偏移=0.9,
                            )
        # _面部色 = "#fbdaad"  # TODO: 未使用渐变色
        _面部 = self.连线(_面部路径点, 描边颜色=颜色.黑色, 填充颜色=_面部色, id_="头面部")
        return [_面部]

    def 鼻子(self):
        _鼻子路径点 = [
            ('移动', 450, 247),
            ('曲线', 465, 218, 500, 210, 513, 209), ('曲线', 525, 208, 560, 204, 582, 230),
            ('曲线', 601, 253, 608, 298, 589, 321), ('曲线', 569, 348, 543, 354, 524, 354),
            ('曲线', 516, 354, 509, 353, 503, 352), ('平滑曲线', 464, 345, 434, 316)
        ]

        _鼻子色 = self.创建径向渐变色(渐变开始中心点=(552.12, 243.92), 渐变半径=78.1,
                            开始颜色="#fffdc9", 结束颜色="#fbdaad",
                            开始偏移=.15, 结束偏移=1)
        # _鼻子色 = "#fbdaad"  # TODO: 未使用渐变色
        鼻子 = self.连线(_鼻子路径点, 描边颜色=颜色.黑色, 填充颜色=_鼻子色, id_="鼻子")
        return 鼻子

    def 嘴巴(self):
        _嘴巴路径点 = [
            ('移动', 415, 333),
            ('曲线', 412, 344, 409, 362, 411, 384), ('曲线', 413, 400, 415, 420, 426, 424),
            ('曲线', 442, 429, 466, 392, 470, 385), ('曲线', 486, 361, 491, 337, 493, 322),
            ('曲线', 486, 346, 464, 360, 444, 357), ('曲线', 425, 354, 416, 335, 415, 333)
        ]

        _嘴巴 = self.连线(_嘴巴路径点, 描边颜色=颜色.黑色, 填充颜色="#7b0400", id_="嘴巴")
        return _嘴巴

    def 舌头(self):
        _舌头路径点 = [
            ('移动', 417, 382),
            ('曲线', 427, 378, 461, 399, 451, 410), ('曲线', 444, 417, 437, 422, 432, 423),
            ('曲线', 419, 426, 416, 409, 415, 403), ('曲线', 414, 398, 411, 385, 417, 382)
        ]

        _舌头 = self.连线(_舌头路径点, 描边颜色=颜色.黑色, 填充颜色="#cc1d03", id_="舌头")
        return _舌头

    def 胡须(self):
        _胡须路径点 = [
            ('移动', 464, 317),
            ('曲线', 457, 318, 441, 319, 424, 313), ('曲线', 404, 306, 392, 292, 387, 286),
            ('曲线', 385, 291, 380, 300, 381, 313), ('曲线', 384, 338, 407, 350, 409, 351),
            ('曲线', 408, 355, 407, 364, 413, 372), ('曲线', 421, 384, 442, 388, 461, 379),
            ('曲线', 462, 380, 470, 390, 483, 388), ('曲线', 493, 388, 502, 381, 506, 371),
            ('曲线', 511, 373, 520, 374, 529, 372), ('曲线', 540, 370, 547, 365, 559, 355),
            ('曲线', 575, 342, 583, 335, 582, 331), ('曲线', 581, 323, 556, 316, 464, 317)
        ]

        _胡须 = self.连线(_胡须路径点, 描边颜色=颜色.黑色, 填充颜色="#411001", id_="胡须")
        return _胡须

    def 右眼(self):
        _右白眼球路径点 = [
            ('移动', 409, 202),
            ('曲线', 419, 199, 430, 210, 433, 215), ('曲线', 446, 242, 445, 256, 444, 260),
            ('曲线', 443, 265, 441, 266, 437, 270), ('曲线', 434, 273, 427, 279, 419, 278),
            ('曲线', 407, 276, 400, 251, 398, 240), ('曲线', 394, 218, 398, 206, 409, 202)
        ]


        _右蓝瞳孔 = self.画椭圆(x=420.61, y=236.9, 半径=(18.93, 32.57), 描边颜色=颜色.透明, 填充颜色="#50dce9").旋转(-14)

        _右黑眼珠 = self.画椭圆(x=421.42, y=236.97, 半径=(16.27, 28.19), 描边颜色=颜色.透明, 填充颜色=颜色.黑色).旋转(-14)

        _右眼白光 = self.画椭圆(x=418.04, y=222.96, 半径=(3.53, 4.3), 描边颜色=颜色.透明, 填充颜色=颜色.白色).旋转(-14)

        _右眼蓝光 = self.画椭圆(x=422.55, y=245.65, 半径=(2.98, 3.5), 描边颜色=颜色.透明, 填充颜色="#0a0096").旋转(-14)

        return [_右蓝瞳孔, _右黑眼珠, _右眼白光, _右眼蓝光]

    def 左眼(self):
        _左白眼球路径点 = [
            ('移动', 483, 183),
            ('曲线', 490, 180, 502, 189, 507, 202), ('曲线', 508, 205, 516, 232, 515, 237),
            ('曲线', 514, 241, 511, 245, 510, 246), ('曲线', 510, 246, 501, 253, 493, 252),
            ('曲线', 481, 251, 476, 229, 473, 218), ('曲线', 471, 207, 472, 187, 483, 183)
        ]

        _左蓝瞳孔 = self.画椭圆(x=492.67, y=214.9, 半径=(17.25, 29.68), 描边颜色=颜色.透明, 填充颜色="#50dce9").旋转(-14)

        _左黑眼珠 = self.画椭圆(x=493.41, y=214.96, 半径=(14.83, 25.69), 描边颜色=颜色.透明, 填充颜色=颜色.黑色).旋转(-14)

        _左眼白光 = self.画椭圆(x=490.33, y=202.19, 半径=(3.21, 3.92), 描边颜色=颜色.透明, 填充颜色=颜色.白色).旋转(-14)

        _左眼蓝光 = self.画椭圆(x=494.44, y=222.87, 半径=(2.71, 3.19), 描边颜色=颜色.透明, 填充颜色="#0a0096").旋转(-14)

        return [_左蓝瞳孔, _左黑眼珠, _左眼白光, _左眼蓝光]

    def 头发(self):
        _侧边发路径点 = [
            ('移动', 289, 198),
            ('曲线', 339, 201, 365, 197, 367, 203), ('曲线', 370, 212, 312, 230, 314, 253),
            ('曲线', 314, 260, 321, 269, 329, 274), ('曲线', 339, 280, 347, 278, 351, 284),
            ('曲线', 353, 289, 351, 295, 349, 299), ('曲线', 345, 304, 338, 307, 330, 306),
            ('曲线', 331, 306, 338, 315, 334, 321), ('曲线', 331, 327, 316, 324, 315, 324),
            ('曲线', 300, 321, 291, 278, 268, 268), ('曲线', 264, 266, 259, 265, 250, 266),
            ('曲线', 250, 256, 250, 242, 253, 228), ('曲线', 256, 215, 259, 205, 262, 196),
            ('曲线', 268, 197, 278, 198, 289, 198)
        ]

        _侧边发 = self.连线(_侧边发路径点, 描边颜色=颜色.透明, 填充颜色="#411001", id_="头发")
        return _侧边发

    def 帽子(self):
        _帽檐内部路径点 = [
            ('移动', 489, 159),
            ('曲线', 502, 152, 517, 142, 541, 137), ('曲线', 563, 133, 591, 132, 598, 137),
            ('曲线', 598, 146, 586, 155, 571, 165), ('曲线', 565, 168, 557, 174, 544, 178),
            ('曲线', 529, 183, 516, 183, 507, 183), ('曲线', 501, 174, 498, 168, 489, 159)
        ]

        _帽檐内部 = self.连线(_帽檐内部路径点, 描边颜色=颜色.透明, 填充颜色="#550000")
        _帽顶路径点 = [
            ('移动', 232, 338),
            ('曲线', 230, 338, 184, 331, 170, 295), ('曲线', 163, 280, 165, 265, 166, 260),
            ('曲线', 167, 254, 170, 234, 187, 219), ('曲线', 200, 209, 213, 206, 219, 205),
            ('曲线', 226, 173, 244, 110, 298, 60), ('曲线', 318, 41, 352, 11, 400, 10),
            ('曲线', 413, 10, 450, 9, 477, 38), ('曲线', 503, 67, 499, 104, 498, 111),
            ('曲线', 474, 115, 441, 124, 404, 142), ('曲线', 384, 152, 360, 164, 333, 187),
            ('曲线', 299, 216, 280, 247, 264, 274), ('曲线', 249, 299, 239, 322, 232, 338)
        ]

        _帽顶色 = self.创建线性渐变色(开始位置=(263.28, 199.96), 结束位置=(446.33, 48.62),
                            开始颜色="#8a0005", 结束颜色="#ff0f13",
                            开始偏移=0, 结束偏移=0.82)
        # _帽顶色 = "#ff0f13"  # TODO: 未使用渐变色
        _帽顶 = self.连线(_帽顶路径点, 描边颜色=颜色.黑色, 填充颜色=_帽顶色)

        _帽徽路径点 = [
            ('移动', 395, 145),
            ('曲线', 394, 144, 371, 127, 373, 99), ('曲线', 375, 77, 392, 58, 413, 53),
            ('曲线', 432, 49, 452, 56, 464, 71), ('曲线', 480, 91, 474, 115, 474, 117),
            ('曲线', 447, 126, 421, 135, 395, 145)
        ]

        _帽徽色 = self.创建径向渐变色(渐变开始中心点=(429.6, 95.34), 渐变半径=48.67,
                            开始颜色="#f3f3f3", 结束颜色="#bbbbbb",
                            开始偏移=0.75, 结束偏移=1)
        # _帽徽色 = "#f3f3f3"  # TODO: 未使用渐变色
        _帽徽 = self.连线(_帽徽路径点, 描边颜色=颜色.黑色, 填充颜色=_帽徽色)

        _帽徽M路径点 = [
            ('移动', 417, 92),
            ('曲线', 417, 96, 417, 102, 418, 110), ('曲线', 419, 112, 419, 115, 419, 118),
            ('曲线', 420, 121, 418, 123, 416, 124), ('曲线', 415, 125, 413, 125, 412, 124),
            ('曲线', 411, 123, 410, 122, 410, 121), ('曲线', 408, 118, 408, 113, 407, 107),
            ('曲线', 407, 99, 407, 94, 407, 93), ('曲线', 406, 89, 406, 86, 405, 82),
            ('曲线', 404, 77, 404, 74, 405, 72), ('曲线', 406, 70, 407, 68, 409, 68),
            ('曲线', 411, 67, 412, 68, 414, 69), ('曲线', 416, 71, 418, 75, 421, 80),
            ('曲线', 424, 86, 428, 91, 432, 97), ('曲线', 432, 90, 432, 82, 431, 73), ('直线', 431, 65),
            ('曲线', 431, 61, 432, 59, 434, 58), ('曲线', 437, 57, 439, 59, 442, 62),
            ('曲线', 443, 63, 444, 66, 446, 70), ('曲线', 451, 79, 455, 86, 460, 92),
            ('曲线', 464, 98, 466, 102, 466, 102), ('曲线', 467, 104, 467, 105, 466, 106),
            ('曲线', 465, 107, 464, 108, 463, 108), ('曲线', 461, 109, 458, 108, 456, 105), ('直线', 451, 98),
            ('曲线', 449, 94, 446, 89, 442, 82), ('曲线', 442, 85, 442, 90, 442, 98), ('直线', 442, 104),
            ('曲线', 442, 107, 442, 109, 441, 111), ('曲线', 441, 114, 440, 115, 438, 116),
            ('曲线', 435, 117, 433, 116, 431, 114), ('直线', 427, 108), ('曲线', 424, 103, 420, 98, 417, 92)
        ]

        _帽徽M = self.连线(_帽徽M路径点, 描边颜色=颜色.黑色, 填充颜色="#f92413")

        _帽檐路径点 = [
            ('移动', 531, 141),
            ('曲线', 520, 144, 511, 148, 508, 150), ('曲线', 435, 184, 416, 194, 416, 194),
            ('平滑曲线', 363, 224, 333, 228), ('曲线', 312, 232, 310, 226, 298, 223),
            ('曲线', 316, 202, 343, 172, 384, 149), ('曲线', 431, 122, 473, 112, 496, 109),
            ('曲线', 507, 108, 516, 108, 525, 107), ('曲线', 535, 107, 544, 107, 556, 108),
            ('曲线', 575, 111, 586, 113, 594, 122), ('曲线', 600, 129, 598, 134, 597, 139),
            ('曲线', 595, 138, 593, 137, 590, 137), ('曲线', 587, 136, 578, 134, 557, 136),
            ('曲线', 550, 137, 542, 138, 531, 141)
        ]

        _帽檐色 = self.创建线性渐变色(开始位置=(335.53, 268.91), 结束位置=(561.12, 82.38),
                            开始颜色="#910106", 结束颜色="#ff0f13",
                            开始偏移=0.2, 结束偏移=0.8,
                            )
        # _帽檐色 = "#ff0f13"  # TODO: 未使用渐变色
        _帽檐 = self.连线(_帽檐路径点, 描边颜色=颜色.黑色, 填充颜色=_帽檐色)
        return [_帽檐内部, _帽顶, _帽徽, _帽徽M, _帽檐]

    def 耳朵(self):
        _耳朵路径点 = [
            ('移动', 305, 377),
            ('曲线', 302, 381, 284, 401, 256, 401), ('曲线', 225, 401, 197, 376, 192, 346),
            ('曲线', 186, 303, 200, 285, 224, 276), ('曲线', 245, 269, 267, 276, 270, 277)
        ]

        _耳朵色 = self.创建线性渐变色(开始位置=(197.59, 362.59), 结束位置=(289.97, 316.76),
                            开始颜色="#ffd2a3", 结束颜色="#f39676",
                            开始偏移=0.58, 结束偏移=0.83,
                            )
        # _耳朵色 = "#fbdaad"  # TODO: 未使用渐变色
        _耳朵 = self.连线(_耳朵路径点, 描边颜色=颜色.黑色, 填充颜色=_耳朵色)

        _耳内路径点 = [
            ('移动', 236, 308),
            ('曲线', 259, 306, 266, 318, 271, 323), ('曲线', 257, 327, 254, 329, 254, 329),
            ('曲线', 254, 329, 267, 322, 274, 327), ('曲线', 279, 331, 281, 342, 277, 350),
            ('曲线', 273, 359, 260, 365, 245, 362)
        ]

        _耳内色 = self.创建径向渐变色(渐变开始中心点=(257.64, 335.45), 渐变半径=45.0,
                            开始颜色="#ffd2a3", 结束颜色="#a9714d",
                            开始偏移=0.55, 结束偏移=0.8,
                            渐变的焦点=(222.93, 335.45),
                            # 缩放=(1, 1.88), 平移=(0, -296.12)
                            ).缩放(1, 1).平移(-5, 0)
        # _耳内色 = "#fbdaad"  # TODO: 未使用渐变色
        _耳内 = self.连线(_耳内路径点, 描边颜色=颜色.黑色, 填充颜色=_耳内色)
        return [_耳朵, _耳内]

    def 眉毛(self):
        _右眉毛路径点 = [
            ('移动', 373, 196),
            ('曲线', 371, 195, 373, 158, 390, 151), ('曲线', 401, 146, 414, 158, 421, 168),
            ('曲线', 413, 164, 406, 161, 397, 166), ('曲线', 384, 172, 374, 196, 373, 196)
        ]

        _右眉毛 = self.连线(_右眉毛路径点, 描边颜色=颜色.透明, 填充颜色="#411001", id_="右眉毛")

        _左眉毛路径点 = [
            ('移动', 454, 162),
            ('曲线', 452, 161, 447, 143, 460, 141), ('曲线', 472, 139, 484, 152, 489, 158),
            ('曲线', 484, 153, 481, 148, 470, 148), ('曲线', 454, 148, 454, 162, 454, 162)
        ]

        _左眉毛 = self.连线(_左眉毛路径点, 描边颜色=颜色.透明, 填充颜色="#411001", id_="左眉毛")
        return [_右眉毛, _左眉毛]

    def 写提示语(self):
        self.写字(x=150, y=120, 文字="什么是无限高清？", 字体大小=24, 字体=系统字体.隶书,
                # 旋转角度=-45,
                描边颜色=颜色.透明, 填充颜色=颜色.红色).旋转(-45)

        self.写字(x=150, y=150, 文字="放大看右眼", 字体大小=24, 字体=系统字体.隶书,
                # 旋转角度=-45,
                描边颜色=颜色.透明, 填充颜色=颜色.红色).旋转(-45)

    def 写版权信息(self):
        self.写字(x=418.3, y=228.5, 文字="三月三制作", 字体大小=2, 字体=系统字体.隶书,
                # 描边宽度=0.02, 描边颜色=颜色.RGB(50, 50, 50), 填充颜色=颜色.透明)
                填充颜色=颜色.RGB(25, 25, 25))

    def 页面设置(self, 设置: 纸张设置):
        设置.上页边距 = "3cm"
        设置.下页边距 = "0"
        设置.左页边距 = "0.1cm"
        设置.右页边距 = "0"
        设置.页面方向 = 纸张方向.自动识别
        设置.页面缩放 = 1.0

    def 创作(self):
        # PDF工具集.设置样式(self, 页边距="4cm 0 0 0.1cm")
        # self.显示图框()
        # self.显示网格(网格线距=20, 网格颜色=颜色.暗灰色, 网格透明度=1, 网格字体大小=9)

        身体元素 = [
            self.左鞋(),
            self.左手臂(),
            self.上身(),
            self.右鞋(),
            self.右手臂(),
        ]
        身体 = self.创建组合(元素列表=身体元素, id_="身体")  # .立体阴影(灯光位置=(700, 0, 100))
        面部元素 = [
            self.头面部(),
            self.嘴巴(),
            self.舌头(),
            self.胡须(),

            self.左眼(),
            self.右眼(),

            self.鼻子(),

            self.眉毛(),
            self.头发(),
        ]
        面部 = self.创建组合(元素列表=面部元素, id_="面部")  # .立体阴影(灯光位置=(700, 0, 100))
        帽子 = self.创建组合(元素列表=self.帽子(), id_="帽子")  # .立体阴影(灯光位置=(700, 0, 100))
        耳朵 = self.创建组合(元素列表=self.耳朵(), id_="耳朵")
        超级玛丽元素 = [
            身体,
            面部,
            帽子,
            耳朵
        ]
        #
        # 超级玛丽模板 = self.创建模板(元素列表=超级玛丽元素, id_="超级玛丽模板")
        #
        # 超级玛丽 = 超级玛丽模板.创造元素(x=0, y=0, id_="超级玛丽")
        # # # 在超级玛丽的眼中克隆一个和自己一样的小超级玛丽
        # 小玛丽 = 超级玛丽模板.创造元素(x=416.3, y=224.3, id_="小玛丽").缩放(0.003)
        # 超小玛丽 = 超级玛丽模板.创造元素(x=418.3, y=224.3, id_="超小玛丽").缩放(0.0001).垂直翻转()
        # # self.写提示语()
        # self.写版权信息()


if __name__ == '__main__':
    神笔 = 超级玛丽神笔绘(作品文件路径="无限高清超级玛丽.svg", 宽=800, 高=800)
    神笔.完成()
    神笔.生成PDF()
